/*
 *   实用工具
 */

#include "basic/utilitys.h"

#include <sched.h>

#include <cerrno>
#include <cstdio>

#include "basic/trace.h"

namespace wheels {

void setThrAffinity(uint32_t cpuCores) {
    // cpu_set_t mask;
    // CPU_ZERO(&mask);
    // CPU_SET(cpuCores, &mask);
    // // 参数1=0，表示本线程
    // if (sched_setaffinity(0, sizeof(mask), &mask) != 0) {
    //     trace_err("setThrAffinity bind cpuid{%d} failed: %s\n", cpuCores, strerror(errno));
    // }
}

const char *xc_basename(const char *path) {
    if (!path) return nullptr;
    const char *pose = path;
    for (auto p = path; *p != '\0'; ++p) {
        if (*p == '/') {
            pose = p + 1;
        }
    }
    return *pose == '\0'? nullptr: pose;
}

}  // namespace wheels
